package com.ctshk.rpc.air.req;

import com.ctshk.common.model.PageReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

/**
 * <p>
 *     预订查询列表Req
 * </p>
 * @author lihang
 * @since 2021-03-19
 */
@Data
@ApiModel(value = "BookingListReq对象",description = "预订查询列表Req")
public class AirBookingListReq extends PageReq implements Serializable {

    private static final long serialVersionUID = 8575871273859585637L;

    @ApiModelProperty(value = "机票产品id")
    private Long productId;

    @ApiModelProperty(value = "机票类型")
    private Integer ticketType;

    @ApiModelProperty(value = "订单行程类型 1.单程 2往返 3 多程")
    private  Integer tripType;

    @ApiModelProperty(value = "船舱等级")
    private List<Long> cabinClass;

    @ApiModelProperty(value = "航空公司Id")
    private List<Long> companyIds;

    @ApiModelProperty(value = "是否需要打包")
    private boolean packStatus;

    @ApiModelProperty(value = "旅客类型id",required = true)
    private List<TouristTypeValue> touristTypeIds;

    @ApiModelProperty(value = "是否直达 1直达 2中转")
    private Integer onWay;

    @ApiModelProperty(value = "起飞时间集合")
    private List<AirBookingListDateReq> airBookingListDateReqList;

    @ApiModelProperty(value = "出发日期" ,required = true)
    private LocalDate depDate;

    @ApiModelProperty(value = "出发城市id",required =  true)
    private Long depCityId;

    @ApiModelProperty(value = "到达城市id",required =  true)
    private Long arrCityId;

    @ApiModelProperty(value = "第几程",required = true)
    private Integer rank;

    @ApiModelProperty(value = "渠道 1:自营 2:代理商 3:官方渠道 4:第三方")
    private Integer channelType;

    @ApiModelProperty(value = "销售人Id,不传默认当前登录用户")
    private Long saleUserId;


    @Data
    public static  class TouristTypeValue implements  Serializable{
        private Long touristType;
        private Integer amount;
    }
}
